#ifndef RED_JUEGO_H
#define RED_JUEGO_H

#include "red_protocolo.h"
#include "red_socket.h"
#include "red_imsgent.h"
#include "red_msgentchat.h"
#include "red_msgenttextura.h"
#include "red_imsgsal.h"
#include "red_mutex.h"
#include <string>

using namespace red::protocolo;
using namespace red::hilos::thread;
using namespace red::sockets;
using namespace red::protocolo::mensajes::entrada;
using namespace red::protocolo::mensajes::salida;
using namespace std;

namespace red {

class Juego {

public:

	Juego(Socket *p_pSocket);
	~Juego();

	void actualizar(IMsgEnt *p_pMsgEnt);

private:

	void enviarMensaje(IMsgSal *p_pMsgSal);

	void actualizarChat(MsgEntChat *p_MsgEntChat);
	void actualizarTextura(MsgEntTextura *p_MsgEntTextura);

	Socket *m_pSocket;
	Mutex m_Mutex;
};

}

#endif
